package com.leetcode.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:给你一个整数数组nums ，判断这个数组中是否存在长度为 3 的递增子序列。
 *
 * 如果存在这样的三元组下标 (i, j, k)且满足 i < j < k ，使得nums[i] < nums[j] < nums[k] ，返回 true ；否则，返回 false 。
 *
 *
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/increasing-triplet-subsequence
 *
 * User:yxd
 * Date:2022-01-12
 * Time:22:54
 */
public class Everyday334 {
    public static void main(String[] args) {
        int[] nums = {0,5,7,1,2,4};
        int n = nums.length;
        if(n < 3){
            System.out.println("没有三元递增序列");
            return;
        }
        int[] l = new int[n];//将所有的较小数放入
        l[0] = nums[0];

        for(int i = 1; i < n; i ++){
            l[i] = Math.min(l[i - 1],nums[i]);
        }
        int[] r = new int[n];//将所有的较大数放入
        r[n - 1] = nums[n - 1];
        for(int i = n - 2; i >= 0;i --){
            r[i] = Math.max(r[i + 1], nums[i]);
        }
        for(int i = 0; i < n; i++){
            if(l[i] < nums[i] && nums[i] < r[i]){//只要满足一个左边有小的  右边有大的就可以
                System.out.println("有三元递增序列");
                return;
            }
        }
        System.out.println("没有三元递增序列");
        return;
    }

}
